#include <iostream>
#include <vector>
#include <functional>
#include "common.hpp"
void Handle(int signal)
{
    std::cout<<"recieve"<<std::endl;
}
int main(int argc, char *argv[])
{
   signal(2,Handle);
    //signal(2,SIG_IGN);//虚拟地址空间的地址0,1指向实际SIG_DFL,SIG_IGN函数的地址
#if 0
//屏蔽信号，而不是信号递达后的处理忽略
    sigset_t sigtab;
    sigemptyset(&sigtab);
    sigaddset(&sigtab,SIGINT);
    sigprocmask(SIG_BLOCK,&sigtab,nullptr);
#endif
    while (true) 
    {
        sleep(1000);//这里有信号先去处理信号了，进程除了显式忽略或不可中断阻塞（等驱动等）会忽略信号，这里可中断阻塞，收到信号会恢复进程
        std::cout<<"恢复"<<std::endl;
    }
    return 0;
}